#!/bin/bash
# @Author: dongfang
# @Create date: 2020-01-31
# @full backup MongoDB

#mongodump命令路径
DUMP=/usr/local/mongodb/bin/mongodump
#tar备份包临时备份目录,这个tar包最好定时传到本地存储做备份
OUT_DIR=/home/data/backup/mongo_27018/mongodb_bak_tmp
#完整备份目录路径
TAR_DIR=/home/data/backup/mongo_27018/mongodb_bak_path
#获取当前系统时间
DATE=`date +%Y_%m_%d_%H_%M`
#数据库账号
DB_USER=dongfang
#数据库密码
DB_PASS=dongfang123456
#DAYS=15代表删除15天前的备份，即只保留近15天的备份
DAYS=15
#最终保存的数据库备份文件
TAR_BAK="mongodb_bak_$DATE.tar.gz"

cd $OUT_DIR
#rm -rf $OUT_DIR/*
mkdir -p $OUT_DIR/$DATE
#备份全部数据库
$DUMP -h 127.0.0.1:27018 -u $DB_USER -p $DB_PASS --authenticationDatabase "admin" -o $OUT_DIR/$DATE
#压缩为.tar.gz格式
tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE
#删除15天前的备份文件
find $TAR_DIR/ -mtime +$DAYS -delete
#删除tar备份包10天前的备份文件
find $OUT_DIR/ -mtime +10 -name "*.tar.gz" -exec rm -rf {} \;
exit
